The described technology relates to setting intensity levels for sub-pixels of displays with overlapping logical pixels.
Active matrix liquid crystal displays have become very popular for computer monitors and televisions. These liquid crystal displays typically have pixels that each contains a red, a green, and a blue stripe. These pixels are referred to as an xe2x80x9cRGB stripe pixel.xe2x80x9d Each stripe of a pixel is referred to as a xe2x80x9csub-pixel.xe2x80x9d The image quality of these liquid crystal displays varies depending on the density of pixels and the number of intensity levels supported by the display. These liquid crystal displays typically use either 6 bits per sub-pixel or 8 bits per sub-pixel to represent intensity levels. The number of bits per sub-pixel is referred to as the xe2x80x9cpixel depth.xe2x80x9d With 6 bits per pixel, 262,144 colors can be displayed, and with 8 bits per pixel, almost 17 million colors can be displayed. Although the quality of images produced from a display that uses 8 bits per pixel is much higher than from a display that uses 6 bits per pixel, the cost of a display that uses 8 bits per pixel is significantly higher.
Spatial dithering has traditionally been used to improve the image quality of displays that use lower depth pixels. Spatial dithering typically involves mapping intensity values of a higher depth (e.g., 8 bits per sub-pixel) to intensity values of a lower depth (e.g., 6 bits per sub-pixel). When mapping from 8 to 6 bits per sub-pixel, the range of intensity values is reduced from 256 to 64. In such a case, four different 8-bit intensity values map to each 6-bit intensity value. For example, the 8-bit intensity values of 32, 33, 34, and 35 may map to a 6-bit intensity value of 8. The mapping from an 8-bit intensity value to a 6-bit intensity value is typically performed by dividing the 8-bit intensity value by 4, which leaves a remainder of 0 to 3. The remainder represents a loss of image quality that results from the mapping. With spatial dithering, the display may be divided into super-pixels comprising 4 pixels each, and the intensity values of the pixels within a super-pixel are adjusted based on the remainder. For example, if the 8-bit intensity value is 33, then the 6-bit intensity value is 8 with a remainder of 1. Because the remainder is 1, one of the pixels of a super-pixel is set to an intensity value of 9, and the other three pixels of the super-pixel are set to an intensity value of 8. Since the pixels are small and close together, the eye perceives the dithered super-pixel with one intensity value of 9 and three intensity values of 8 as very similar to the intensity value of 33 with a depth of 8 bits.
In order to improve the image quality of a liquid crystal display that displays color with a lower depth than can be provided to the display, various other dithering techniques have been used. One such class of dithering techniques is referred to as xe2x80x9cframe rate controlxe2x80x9d (xe2x80x9cFRCxe2x80x9d). Frame rate control techniques use both xe2x80x9ctemporal ditheringxe2x80x9d and xe2x80x9cspatial dithering,xe2x80x9d which can take advantage of the slow response time of liquid crystals to small changes in applied voltage. Temporal dithering refers to dithering from one frame to the next as opposed to dithering within a single frame. (A typical display may display 30 or 60 frames per second.) With frame rate control, a single pixel may have its intensity value varied from one frame to the next to account for the loss of depth. For example, if the 8-bit intensity value of 33 is mapped to a 6-bit intensity value of 8 with a remainder of 1, then a pixel may have its intensity value set to 9 during every fourth frame and set to 8 during the remaining 3 frames. Thus, temporal dithering tends to approximate the 8-bit intensity value over time, rather than over space. Frame rate control uses a combination of dithering techniques by defining a super-pixel or pattern of pixels to indicate which pixels should have their intensity levels increased from one frame to the next. For example, if a super-pixel comprises 4 pixels, then an 8-bit intensity value of 33 can be approximated by setting the intensity value of the first pixel of the super pixel to 9 and setting the intensity value of all other pixels to 8 during the first frame, by setting the intensity value of the second pixel of the super-pixel to 9 and setting the intensity value of all other pixels to 8 during the second frame, and so on. Thus, the super-pixel approximates the 8-bit intensity value using both temporal and spatial dithering.
Because the eye can differentiate the colors of a green and red to a greater degree than the color blue, different types of striping techniques have been developed. One such technique, referred to as a xe2x80x9csplit stripe,xe2x80x9d divides the green and the red stripe of an RGB striped pixel into two, leaving 5 sub-pixels: 2 vertically aligned green sub-pixels, 2 vertically aligned red sub-pixels and 1 blue sub-pixel positioned in between the red and the green sub-pixels. The image quality can be improved by independently setting each red and green sub-pixel within a pixel to a different intensity level. Another technique, referred to as xe2x80x9cPentile tiling,xe2x80x9d exchanges the position of a red and green sub-pixel of the split stripe pixel so that sub-pixels of the same color are no longer vertically aligned but are instead diagonally aligned. Another form of Pentile tiling is to replace the rectangular striped sub-pixels with different shaped sub-pixels. FIG. 1 is a diagram illustrating a form of Pentile tiling. Pixel 100 includes 5 sub-pixels 101-105. Sub-pixels 101 and 103 display the color red, sub-pixels 102 and 104 display the color green, and sub-pixel 105 displays the color blue.
When the Pentile pixels of FIG. 1 are arranged in a matrix, the colors are usually specified using logical pixels, rather than physical pixels. A logical pixel is generally defined as a group of adjacent sub-pixels that may include sub-pixels from different physical pixels. A logical pixel is typically a center sub-pixel and its surrounding sub-pixels. The intensity value of a sub-pixel of a display is generally set based on intensity values of its surrounding logical pixels that are weighted according to their location relative to the sub-pixel. FIG. 2 illustrates a logical pixel of a Pentile matrix of pixels. The pixel 100 in FIG. 1 illustrates what is commonly referred to as a physical pixel. The Pentile matrix 200 shows 6 physical pixels 201-206 that are each centered on a blue sub-pixel. A logical pixel of a Pentile matrix, in contrast, may be centered on each red sub-pixel and each green sub-pixel. A logical pixel of the Pentile matrix may be defined as a center sub-pixel, the adjacent blue sub-pixel, and the four adjacent sub-pixels with a color different from the center sub-pixel. Logical pixel 207 is illustrated with a bold line drawn around it. The center of the logical pixel is red sub-pixel 208, and it is adjacent to the blue sub-pixel 209 and to the four green sub-pixels 210-213. Thus, the sub-pixels 208-213 form logical pixel 207. Green sub-pixels 210-213 are centers of logical pixels that each include sub-pixel 208. FIGS. 3-6 illustrate logical pixels of the Pentile matrix that overlap a common sub-pixel. In FIG. 3, logical pixel 214 is centered on green sub-pixel 210. As can be seen, logical pixel 214 includes red sub-pixel 208. Thus, logical pixel 207 and logical pixel 214 overlap. (Actually, logical pixels 207 and 214 each contain sub-pixels 208, 209, and 210 in common.) In FIGS. 4-6, logical pixels 221, 228, and 235 are illustrated as overlapping the center sub-pixel 208 of logical pixel 207. Thus, sub-pixel 208 is included in logical pixels 207, 214, 221, 228, and 235.
According to one technique, when generating the intensity value for a sub-pixel of a logical pixel, the intensity values of the logical pixels that include that sub-pixel are combined. Each red sub-pixel and green sub-pixel is included in 5 logical pixels, and each blue sub-pixel is included in 4 logical pixels. To calculate the intensity value for a red or green sub-pixel, one technique adds 50 percent of the intensity value of the logical pixel centered at the sub-pixel and 12.5 percent of the intensity value of each of the other four logical pixels that include that sub-pixel. The 50 percent and the 12.5 percent are referred to as a xe2x80x9ccontribution factor.xe2x80x9d For example, if the sub-pixel is red and the red intensity value of the RGB value for the logical pixel for which the sub-pixel is center is 64, then that logical pixel contributes 32 (i.e., 50 percent of 64) to the sub-pixel intensity value. If the other four overlapping logical pixels each have a red intensity value of 24, then 3 (i.e., 12.5 percent of 24) is added for each of the overlapping logical pixels. That is, 12 is added to 32 to result in an intensity value of 44 for the sub-pixel. Thus, each of the 5 logical pixels that contain a sub-pixel contributes to the intensity value of the sub-pixel of the display.
Although the use of a Pentile matrix with logical pixels may allow for improved image quality, it would be desirable to further improve such image quality.